.\"
.\" Copyright (C) 1994-2021 Altair Engineering, Inc.
.\" For more information, contact Altair at www.altair.com.
.\"
.\" This file is part of both the OpenPBS software ("OpenPBS")
.\" and the PBS Professional ("PBS Pro") software.
.\"
.\" Open Source License Information:
.\"
.\" OpenPBS is free software. You can redistribute it and/or modify it under
.\" the terms of the GNU Affero General Public License as published by the
.\" Free Software Foundation, either version 3 of the License, or (at your
.\" option) any later version.
.\"
.\" OpenPBS is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
.\" License for more details.
.\"
.\" You should have received a copy of the GNU Affero General Public License
.\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
.\"
.\" Commercial License Information:
.\"
.\" PBS Pro is commercially licensed software that shares a common core with
.\" the OpenPBS software.  For a copy of the commercial license terms and
.\" conditions, go to: (http://www.pbspro.com/agreement.html) or contact the
.\" Altair Legal Department.
.\"
.\" Altair's dual-license business model allows companies, individuals, and
.\" organizations to create proprietary derivative works of OpenPBS and
.\" distribute them - whether embedded or bundled with other software -
.\" under a commercial license agreement.
.\"
.\" Use of Altair's trademarks, including but not limited to "PBS™",
.\" "OpenPBS®", "PBS Professional®", and "PBS Pro™" and Altair's logos is
.\" subject to Altair's trademark licensing policies.
.\"
.TH pbs_server_attributes 7B "18 July 2020" Local "PBS Professional"
.SH NAME
pbs_server_attributes 
\- PBS server attributes
.SH DESCRIPTION
A PBS server has the following attributes.

.IP acl_host_enable 8
Specifies whether the server obeys the host access control list in the
.I acl_hosts 
server attribute.  
.br
Readable by all; settable by Manager.
.br
Format: 
.I Boolean
.br
Python type: 
.I bool
.br
Behavior:
.RS
.IP True 3
The server limits host access according to the access control list.
.IP False 3
All hosts are allowed access.
.RE
.IP
Default: 
.I False 

.IP acl_host_moms_enable 8
Specifies whether all MoMs are automatically allowed to contact the
server with the same privilege as hosts listed in the acl_hosts server
attribute.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 
.IP True 3
All MoMs are automatically allowed to contact the server with the same
privilege as hosts listed in the 
.I acl_hosts 
server attribute.
.IP False 3
MoMs are not automatically allowed to contact the server with the same
privilege as hosts listed in the 
.I acl_hosts 
server attribute.
.RE
.IP
Default: 
.I False

.IP acl_hosts 8
List of hosts from which services can be requested of this
server. Requests from the server host are always honored whether or
not that host is in the list.  This list contains the fully qualified
domain names of the hosts. List is evaluated left-to-right; first
match in list is used.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<hostname>.<domain>[, ...]"
.br
Python type: 
.I pbs.acl
.br
Default: No default (all hosts are allowed access)

.IP acl_resv_group_enable 8
Specifies whether the server obeys the group reservation access
control list in the 
.I acl_resv_groups 
server attribute.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 
.IP True 3
The server limits group access according to the access control list.
.IP False 3
All groups are allowed access.
.RE
.IP
Default:
.I False

.IP acl_resv_groups 8
List of groups allowed or denied permission to create reservations in
this PBS complex.  The groups in the list are groups on the server
host, not submission hosts.  List is evaluated left-to-right; first
match in list is used.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<group name>[, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP acl_resv_host_enable 8
Specifies whether the server obeys the host reservation access control
list in the 
.I acl_resv_hosts 
server attribute.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 
.IP True 3
The server limits host access according to the access control list.
.IP False 3
All hosts are allowed access.
.RE
.IP
Default:
.I False

.IP acl_resv_hosts 8
List of hosts from which reservations can be created in this PBS
complex. This list is made up of the fully-qualified domain names of
the hosts.  List is evaluated left-to-right; first match in list is
used.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<hostname>.<domain>[, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP acl_resv_user_enable 8
Specifies whether the server limits which users are allowed to create
reservations, according to the access control list in the 
.I acl_resv_users 
server attribute.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 
.IP True 3
The server limits user reservation creation according to the access control list.
.IP False 3
All users can create reservations.
.RE
.IP
Default:
.I False

.IP acl_resv_users 8
List of users allowed or denied permission to create reservations in
this PBS complex.  List is evaluated left-to-right; first match in
list is used.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<username>[@<hostname>][, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP acl_roots 8
List of users with root privilege who may run jobs
at this server.  If the owner of a job is root or Administrator,
the owner must be listed in this access control list or
the job is rejected.  More specific entries should be listed before
more general, because the list is read left-to-right, and the first
match determines access.
.br
Readable by all; can be set or altered by root only, and only at 
the server host.
.br
Format: 
.I String
.br
Syntax: "[+|-]<username>[@<hostname>][, ...]"
.br
Python type: 
.I pbs.acl
.br
Default: No default; no root jobs allowed

.IP acl_user_enable 8
Specifies whether the server limits which users are allowed to run
commands at the server, according to the control list in the 
.I acl_users
server attribute.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 
.IP True 3
The server limits user access according to the access control list.
.IP False 3
All users have access.
.RE
.IP
Default:
.I False

.IP acl_users 8
List of users allowed or denied permission to run commands at this
server.  List is evaluated left-to-right; first match in list is used.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<username>[@<hostname>][, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP backfill_depth 8
Modifies backfilling behavior.  Sets the number of jobs that are to be backfilled 
around.  Overridden by 
.I backfill_depth 
queue attribute.
.br
Recommendation: set this to less than 100.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Valid values: Must be >= 0
.br
Behavior:
.RS
.IP ">= 0" 3
PBS backfills around the specified number of jobs.
.IP "Unset" 3
Backfill depth is set to
.I 1.
.RE
.IP
Python type:
.I int
.br
Default: Unset (backfill depth is 1)

.IP comment 8
Informational text.  Can be set by a scheduler or other privileged client.
.br
Readable by all; settable by Operator, Manager, and PBS.
.br
Format: 
.I String
of any form
.br
Python type:
.I str
.br
Default: No default

.IP default_chunk  8
The list of resources which will be inserted into each chunk of a
job's select specification if the corresponding resource is not
specified by the user.  This provides a means for a site to be sure a
given resource is properly accounted for even if not specified by the
user.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax: 
.RS 11
.I default_chunk.<resource name>=<value>, default_chunk.<resource name>=<value>, ...
.RE
.IP
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
default_chunk["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP default_node 8
No longer used.

.IP default_qdel_arguments 8
Argument to qdel command.  Automatically added to all qdel commands.
See qdel(1B).  Overrides standard defaults. Overridden by arguments
given on the command line.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax: "-Wsuppress_mail=<N>"
.br
Python type: 
.I pbs.args
.br
Default: No default

.IP default_qsub_arguments 8
Arguments that are automatically added to the qsub command.  Any valid
arguments to qsub command, such as job attributes. Setting a job
attribute via default_qsub_arguments sets that attribute for each job
which does not explicitly override it. See qsub(1B). Settable by the
administrator via the qmgr command. Overrides standard
defaults. Overridden by arguments given on the command line and in
script directives.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax: 
.RS 11
"<option> <value> <option> <value>"
.RE
.IP 
Python type:
.I pbs.args
.br
To set: 
.RS 11
Qmgr: s s default_qsub_arguments ="<option> <value>"
.RE
.IP
To add to existing: 
.RS 11
Qmgr: s s default_qsub_arguments +="<option> <value>"
.RE
.IP
Example: 
.RS 11
Qmgr: set server default_qsub_arguments = "-r y -N MyJob"
.br
Qmgr: set server default_qsub_arguments += "-l Blue=False"
.RE
.IP
Default: No default

.IP default_queue 8
The name of the default target queue.  Used for requests that do not
specify a queue name.  Must be set to an existing queue.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Queue name
.br
Python type:
.I pbs.queue
.br
Default: 
.I workq

.IP eligible_time_enable 8
Controls starving behavior. Toggles between using the value of the job's 
.I eligible_time 
attribute and the value of 
.I now() - etime
to evaluate whether job is starving.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS
.IP True 3
The value of the job's 
.I eligible_time 
attribute is used for its starving time.
.IP False 3
The value of 
.I now() - etime 
is used for the job's starving time.
.RE
.IP 
Default: 
.I False

.IP est_start_time_freq 8
.B Obsolete. 
No longer used.

.IP flatuid 8
Used for authorization allowing users to submit and alter jobs.
Specifies whether user names are treated as being the same across the
PBS server and all submission hosts in the complex.  Can be used to
allow users without accounts at the server host to submit jobs.
.br
If UserA has an account at the server host, PBS requires that
UserA@<server host> is the same as UserA@<execution host>.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS
.IP True 3
PBS assumes that UserA@<submithost> is same user as UserA@<server
name>.  Jobs that run under the name of the job owner do not need
authorization.  
.br
A job submitted under a different username, by using the 
.I -u 
option to the qsub command, requires authorization.  
.br
Entries in .rhosts or hosts.equiv are not checked, so even if
UserA@host1 has an entry for UserB@host2, UserB@host2 cannot operate
on UserA@host1's jobs.  User without account on server can submit
jobs.
.IP False 3
PBS does not assume that UserA@<submission host> is the same user as
UserA@<server host>.  Jobs that run under the name of the job owner
need authorization.  Users must have accounts on the server host to
submit jobs.
.RE
.IP
Default: 
.I False
(authorization is required)

.IP FLicenses 8
The number of licenses currently available for allocation to unlicensed
hosts.
.br
Readable by all; settable by Manager.
.br
Format:
.I Integer
.br
Python type: 
.I int
.br
Default: No default

.IP job_history_duration 8
The length of time PBS will keep each job's history.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Duration
.br
Syntax: 
.I [[hours:]minutes:]seconds[.milliseconds]
.br
Python type:
.I pbs.duration
.br
Default: 
.I Two weeks

.IP job_history_enable 8
Enables job history management.  
Setting this attribute to True enables job history management.  
.br 
Readable by all; settable by Manager.
.br
Format: 
.I Boolean
.br
Python type:
.I bool
.br
Default: 
.I False

.IP job_requeue_timeout 8
The amount of time that can be taken while requeueing a job.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Duration
.br
Python type:
.I pbs.duration
.br
Minimum allowed value: 
.I 1 second
.br 
Maximum allowed value: 
.I 3 hours
.br
Default: 
.I 45 seconds

.IP job_sort_formula 8
Formula for computing job priorities.
If the attribute 
.I job_sort_formula 
is set, all schedulers use the formula in it to compute job
priorities.  When a scheduler sorts jobs according to the formula, it
computes a priority for each job, where that priority is the value
produced by the formula.  Jobs with a higher value get higher
priority.
.br
Readable by all; settable by root.
.br
Format: 
.I String 
.br
Syntax:
Mathematical formula; can be made up of expressions, where
expressions contain terms which are added, subtracted,
multiplied, or divided, and which can contain parentheses, 
exponents, and unary plus and minus. 
.br
Python type: 
.I pbs.job_sort_formula
.br
Default: Unset

.IP jobscript_max_size 8
Limit on the size of any job script.  
.br
Readable by all; settable by Manager.
.br
Format: 
.I size
.br
Units default to bytes
.br 
Python type: 
.I pbs.size
.br
Default: 
.I 100MB

.IP license_count 8
The 
.I license_count
attribute contains the following elements with their values: 
.I Avail_Global, Avail_Local, Used, High_Use.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I String
.br
Syntax:
.RS 11
.I Avail_Global:<value> Avail_Local:<value> Used:<value> 
.I High_Use:<value>
.RE
.IP
.RS
.IP Avail_Global 3
The number of licenses available at ALM license server
(checked in.)
.LP
.IP Avail_Local 3
The number licenses kept by PBS (checked out.)
.LP
.IP Used 3
The number of licenses currently in use.
.LP
.IP High_Use 3
The highest number of licenses checked out and used at any time 
by the current instance of the PBS server.
.LP
.RE
.IP
Python type: 
.I pbs.license_count
.br
Default value:
.RS 11
.I Avail_Global:0 Avail_Local:0 Used:0 High_Use:0
.RE

.IP log_events 8
The types of events the server logs.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
representation of bit string
.br
Python type: 
.I int
.br
Default: 
.I 511
(all events)

.IP mail_from 8
The username from which server-generated mail is sent to users.  
Mail is sent 
.B to
this address upon failover.
.br
Readable by all; settable by Manager.
.br
Format: 
.I String
.br
Python type: 
.I str
Default: "adm"

.IP managers 8
List of PBS Managers.
.br
Readable by all; settable by Manager.
.br
Format: 
.I String
.br
Syntax:
.RS 11
"<username>@<hostname>.<subdomain>.<domain>[,<username>@<hostname>.<subdomain>.<domain> ...]"
.br
The 
.I hostname, subdomain, 
or 
.I domain 
may be wildcarded with an asterisk ("*").
.RE
.IP
Python type: 
.I pbs.acl
.br
Default: Root on the server host

.IP max_array_size 8
The maximum number of subjobs that are allowed in any array job.  
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: 
.I 10000

.IP max_concurrent_provision 8
The maximum number of vnodes allowed to be in the process of being provisioned.
Cannot be set to zero.
.br
When unset, default value is used.  
.br
Readable by all; settable by Manager.
.br
Format:
.I Integer
.br
Python type: 
.I int
.br
Default:
.I 5

.IP max_group_res 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum amount of the specified resource that any single group may consume
in this PBS complex. 
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax: 
.I max_group_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
max_group_res["<resource name>"]=<value> 
.br
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Example: set server max_group_res.ncpus=6
.br
Default: No default
.br

.IP max_group_res_soft 8
Old limit attribute.  Incompatible with new limit attributes.  The
soft limit on the amount of the specified resource that any single
group may consume in this complex.  If a group is
consuming more than this amount of the specified resource, their jobs
are eligible to be preempted by jobs from groups who are not over
their soft limit.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax: 
.I max_group_res_soft.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
max_group_res_soft["<resource name>"]=<value> 
.br
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default
.br

.IP max_group_run 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs owned by any users in a single group that are
allowed to be running within this complex at one time.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: No default

.IP max_group_run_soft 8
Old limit attribute.  Incompatible with new limit attributes.  The
maximum number of jobs owned by the users in one group allowed to be
running in this complex at one time.  If a group has more than this
number of jobs running, their jobs are eligible to be preempted by
jobs from groups who are not over their soft limit.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: No default

.IP max_queued 8
Limit attribute.  The maximum number of jobs allowed to be queued
or running in the complex.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes. 
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.RS 11
.RE
.IP
Python type:
.I str
.br
Default: No default

.IP max_queued_res 8
Limit attribute.  The maximum amount of the specified resource 
allowed to be allocated to jobs queued or running in the complex.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes. 
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_queued_res["<resource name>"]=<value> 
.br 
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_run 8
Limit attribute.  The maximum number of jobs allowed to be running 
in the complex.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes. 
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type:
.I str
.br
Default: No default

.IP max_run_res 8
Limit attribute.  The maximum amount of the specified resource 
allowed to be allocated to jobs running in the complex.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run_res["<resource name>"]=<value> 
.br 
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_run_res_soft 8
Limit attribute.  Soft limit on the amount of the specified resource 
allowed to be allocated to jobs running in the complex.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run_res_soft["<resource name>"]=<value> 
.br 
where
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_run_soft 8
Limit attribute.  Soft limit on the number of jobs allowed to be running 
in the complex.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type:
.I str
.br
Default: No default

.IP max_running 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs in this complex allowed to be 
running any given time.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_user_res 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum amount of the specified resource that any single user may consume
within this complex. 
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax:
.I max_user_res.<resource name>=<value>
.br
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
max_user_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Example: set server max_user_res.ncpus=6
.br
Default: No default

.IP max_user_res_soft 8
Old limit attribute.  Incompatible with new limit attributes.  The
soft limit on the amount of the specified resource that any single
user may consume within this complex.  If a user is consuming more
than this amount of the specified resource, their jobs are eligible to
be preempted by jobs from users who are not over their soft limit.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax:
.I max_user_res_soft.<resource name>=<value>
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
max_user_res_soft["<resource name>"]=<value> 
.br
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Example: set server max_user_res_soft.ncpus=3
.br
Default: No default

.IP max_user_run 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs owned by a single user that are allowed to be
running within this complex at one time.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_user_run_soft 8
Old limit attribute.  Incompatible with new limit attributes.
The soft limit on the number of jobs owned by a single user that are allowed to be
running within this complex at one time.  If a user has more than this number of jobs 
running, their jobs are eligible to be preempted by jobs from users who are not over 
their soft limit.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: No default

.IP node_fail_requeue 8
Controls whether running jobs are automatically requeued or deleted
when the primary execution host fails.  Number of seconds to wait after
losing contact with Mother Superior before requeueing or deleting jobs.  
.br
Reverts to default value when server is restarted.
.br
Can be set by Managers and Operators.  Visible to all.
.br
Format: 
.I Integer
.br
Python type:
.I int
Behavior:
.RS
.IP "< 0" 3
Behaves as if set to 
.I 1.
.IP 0 3
Jobs are not requeued; they are left in the 
.I Running 
state until the execution host is recovered.  
.IP "> 0" 3
When the host has been down for the specified number of seconds, 
jobs are requeued if they are marked as rerunnable, or are deleted.
.IP Unset 3
Behaves as if set to default value of 
.I 310.
.RE
.IP
Default: 
.I 310

.IP resend_term_delay 8
Delay for resending the TERM signal to a job in seconds.
.br
Can be set by Managers and Operators.  Visible to all.
.br
Must be >= 0 and <= 1800.
.br
Format: 
.I Integer
.br
Python type:
.I int
.IP Unset 3
Behaves as if set to default value of 
.I 5.
.RE
.IP
Default: 
.I 5

.IP "node_group_enable" 8
Specifies whether placement sets (which includes node grouping) are
enabled.  See the 
.I node_group_key
server attribute.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Boolean
.br  
Python type: 
.I bool
.br
Example: Qmgr> set server node_group_enable=true
.br
Default: 
.I False

.IP node_group_key 8
Specifies the resources to use for placement sets (node grouping.)  
Overridden by queue's 
.I node_group_key 
attribute.  See 
.I node_group_enable
server attribute.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I string_array
.br
Syntax:
.RS 11
When specifying multiple resources, separate them with commas and 
enclose the value in double quotes.
.RE
.IP
Python type:
.I pbs.node_group_key
.br
Example: Qmgr> set server node_group_key="ncpus,mem"
.br
Default: 
.I Unset

.IP operators 8
List of PBS Operators.
.br
Readable by all; settable by Manager.
.br
Format: 
.I String
.br
Syntax: 
.RS 11 
<username>@<hostname>.<subdomain>.<domain
name>[,<username>@<hostname>.<subdomain>.<domain name> ...]
.br
The 
.I host, subdomain, 
or 
.I domain name 
may be wildcarded with an asterisk (*).
.RE
.IP
Python type:
.I pbs.acl
.br
Default: No default

.IP pbs_license_file_location 8
.B Deprecated.  
Do not use.

.IP pbs_license_info 8
Location of license server(s).  
.br
Readable by all; settable by Manager.
.br
Format: 
.I String
.br
Syntax: 
.RS 11 
One or more port number and hostname combinations:
.br
.I <port1>@<host1>[:<port2>@<host2>:...:<portN>@<hostN>]
.br
where 
.I host1, host2, ... hostN 
can be IP addresses.
.br
Delimiter between items is colon (":").
.RE
.IP 
Python type: 
.I str
.br
Default: No default

.IP pbs_license_linger_time 8
The number of seconds to keep an unused license, when the number
of licenses is above the value given by 
.I pbs_license_min.  
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer 
.br
Units:
.I seconds
.br
Python type: 
.I pbs.duration
.br
To set 
.I pbs_license_linger_time:
.br
\ \ \ Qmgr> set server pbs_license_linger_time=<value>
.br
To unset 
.I pbs_license_linger_time:
.br
\ \ \ Qmgr> unset server pbs_license_linger_time
.br
Default: 
.I 3600 seconds

.IP pbs_license_max 8
Maximum number of licenses to be checked out at any time, i.e maximum
number of licenses to keep in the PBS local license pool.  Sets a
cap on the number of nodes or sockets that can be licensed at one time. 
.br
Readable by all; settable by Manager. 
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
To set
.I pbs_license_max:
.br
\ \ \ Qmgr> set server pbs_license_max=<value>
.br
To unset 
.I pbs_license_max:
.br
\ \ \ Qmgr> unset server pbs_license_max
.br
Default: 
.I Maximum value for an integer

.IP pbs_license_min 8
Minimum number of nodes or sockets to permanently keep licensed, i.e. the minimum
number of licenses to keep in the PBS local license pool. This is
the minimum number of licenses to keep checked out.  
.br
Readable by all; settable by Manager. 
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
To set pbs_license_min:
.br
\ \ \ Qmgr> set server pbs_license_min=<value>
.br
To unset pbs_license_min:
.br
\ \ \ Qmgr> unset server pbs_license_min
.br
If unset, PBS automatically sets the value to 
.I 0.
.br
Default: 
.I 0

.IP pbs_version 8
The version of PBS for this server.  
.br
.br
Readable by all.
.br
Format: 
.I String
.br
Python type: 
.I pbs.version
.br
Default: No default

.IP power_provisioning 8
Shows use of power profiles via PBS.
.br
Readable by all; set by PBS.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS
.IP True 3
Power provisioning is enabled.  
.IP False 3
Power provisioning is disabled.
.RE
.IP 
Default: 
.I False

.IP python_restart_max_hooks 8
The maximum number of hooks to be serviced before the Python
interpreter is restarted.  If this number is exceeded, and the time
limit set in 
.I python_restart_min_interval 
has elapsed, the Python interpreter is restarted.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: 
.I 100

.IP python_restart_max_objects 8
The maximum number of objects to be created before the Python
interpreter is restarted.  If this number is exceeded, and the time
limit set in 
.I python_restart_min_interval 
has elapsed, the Python interpreter is restarted.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer
.br
Python type:
.I int
.br
Default: 
.I 1000

.IP python_restart_min_interval 8
The minimum time interval before the Python interpreter is restarted.
If this interval has elapsed, and either the maximum number of hooks
to be serviced (set in 
.I python_restart_max_hooks
) has been exceeded or
the maximum number of objects to be created (set in
.I python_restart_max_objects
) has been exceeded, the Python interpreter is restarted.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer 
.br
Units: 
.I Seconds 
or 
.I Duration [[HH:]MM:]SS
.br
Python type: 
.I pbs.duration
.br
Default: 
.I 30

.IP query_other_jobs 8
Controls whether unprivileged users are allowed to select or query the
status of jobs owned by other users.
.br
When 
.I True, 
unprivileged users can query or select other users' jobs.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Boolean
.br
Python type: 
.I bool
.br
Default: 
.I True

.IP queued_jobs_threshold 8
Limit attribute.  The maximum number of jobs allowed
to be queued in the complex.  Can be specified for
projects, users, groups, or all.  Cannot be used with old limit
attributes.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Limit specification
.br
Python type: 
.I str
.br
Default: No default

.IP queued_jobs_threshold_res 8
Limit attribute.  The maximum amount of the specified resource allowed
to be allocated to jobs queued in the complex.  Can be specified for
projects, users, groups, or all.  Cannot be used with old limit
attributes.
.br
Readable by all; settable by Operator and Manager.
Format: 
.I Limit specification
.br
Python type: 
.I pbs.pbs_resource
.br 
Syntax:
.RS 11
queued_jobs_threshold_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP reserve_retry_cutoff 8
.B Obsolete.
No longer used.

.IP reserve_retry_init 8
.B Deprecated.
The amount of time after a reservation becomes degraded that
PBS waits before attempting to reconfirm the reservation.
When this value is changed, only reservations that become degraded
after the change use the new value.
.br
Readable and settable by Manager only.
.br
Format: 
.I Integer 
.br
Units: 
.I Seconds
.br
Python type: 
.I int
.br
Valid values: Must be greater than 
.I zero
.br
Default: 
.I 7200 
(2 hours)

.IP reserve_retry_time 8
The amount of time after a reservation becomes degraded that
PBS waits before attempting to reconfirm the reservation, as well
as the amount of time between attempts to reconfirm degraded 
reservations.
When this value is changed, only reservations that become degraded
after the change use the new value.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer 
.br
Units: 
.I Seconds
.br
Python type: 
.I int
.br
Valid values: Must be greater than 
.I zero
.br
Default: 
.I 600 
(5 minutes)


.IP resources_assigned 8
The total of each type of resource allocated to jobs running in this
complex, plus the total of each type of resource allocated to any reservation.
Reservation resources are added when the reservation starts.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I String
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
resources_assigned["<resource name>"]=<value> 
.br
where
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default

.IP resources_available 8
The list of available resources and their values defined on the server.  
Each resource is listed on a separate line.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String 
.br
Syntax: 
.RS 11
"resources_available.<resource name>=<value>"
.br
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.br
.RS 11
resources_available["<resource name>"]=<value> 
.br
where
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default

.IP resources_cost 8
No longer used.

.IP resources_default 8
The list of default job-wide resource values that are set as limits
for jobs in this complex when a) the job does not specify a limit, and
b) there is no queue default.  The value for a string array,
e.g. 
.I resources_default.<string array resource>, 
can contain only one string.  For host-level resources, see the 
.I default_chunk.<resource name> 
server attribute.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax:
.I resources_default.<resource name>=value[, ...]
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_default["<resource name>"]=<value> 
.br
where
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default: No limit

.IP resources_max 8 
The maximum amount of each resource that can be requested by any
single job in this complex, if there is not a 
.I resources_max 
value defined for the queue at which the job is targeted.  This
attribute functions as a gating value for jobs entering the PBS
complex.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I String
.br
Syntax:
.I resources_default.<resource name>=value[, ...]
.br
Python type: 
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_max["<resource name>"]=<value> 
.br
where
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No limit

.IP restrict_res_to_release_on_suspend 8
Comma-separated list of consumable resources to be released when
jobs are suspended.  If unset, all consumable resources are released
on suspension.
.br
Readable by all; settable by Manager.
.br
Format: 
.I String array
.br
Syntax: 
.I comma-separated list
.br
Python type:
.I Python list
.br
Default: 
.I Unset

.IP "resv_enable" 8
Specifies whether or not advance and standing reservations can be 
created at this server.  
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 11
When set to 
.I True, 
new reservations can be created.  When changed from 
.I True 
to 
.I False, 
new reservations cannot be created, but existing reservations are honored.
.RE
.IP
Default: 
.I True

.IP "resv_post_processing_time" 8
The amount of time allowed for reservations to clean up after running jobs.
.br
Reservation duration and end time are extended by this amount of time.  Jobs
are not allowed to run during the cleanup period.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Duration
.br
Syntax: 
.I [[hours:]minutes:]seconds[.milliseconds]
.br
Python type: 
.I int
.br
Behavior: When unset, behaves as if set to 
.I zero.
.br
Default: 
.I Unset

.IP rpp_highwater 8
The maximum number of messages.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer
.br
Python type:
.I int
.br
Valid values: Greater than or equal to 
.I one
.br
Default: 
.I 1024

.IP rpp_max_pkt_check 8
Maxiumum number of TPP messages processed by the main server thread per iteration.
.br
Readable by all; settable by Manager.
.br
Format:
.I Integer
.br
Python type: 
.I int
.br
Default: 
.I 1024

.IP rpp_retry 8
In a fault-tolerant setup (multiple pbs_comms), when the first
pbs_comm fails partway through a message, this is number of times TPP
tries to use the first pbs_comm.
.br
Readable by all; settable by Manager.
.br
Format: 
.I Integer
.br
Python type:
.I int
.br
Valid values: Greater than or equal to 
.I zero
.br
Default: 
.I 10

.IP scheduler_iteration 8
The time between scheduling iterations.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Integer 
.br
Units:
.I Seconds
.br
Python type: 
.I pbs.duration
.br
Default: 
.I 600
(10 minutes)

.IP scheduling 8
Enables scheduling of jobs.  Specified by value of 
.I -a 
option to
.I pbs_server 
command. If 
.I -a 
is not specified, value is taken from previous invocation of 
.I pbs_server.
.br
Readable by all; settable by Operator and Manager.
.br
Format: 
.I Boolean 
.br
Python type: 
.I bool
.br
Default: 
.I False
if never set via 
.I pbs_server 
command

.IP server_host 8
The name of the host on which the active server is running.
If the secondary server takes over, this attribute is set to the 
name of the secondary server's host.  When the primary server
takes control again, this attribute shows the name of the primary
server's host.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I String
.br
Syntax: 
.I <hostname>.<domain name>
.RS 11
If the server is listening to a non-standard port, the port number is
appended, with a colon, to the hostname: 
.I <hostname>.<domain name>:<port number>
.RE
.IP
Python type: 
.I str
.br
Default: No default
 
.IP server_state 8
The current state of the server.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I String
.br
Python type: 
.RS 11
Each server state's Python type is its corresponding server state constant
.RE
.IP
Server states and their Python types:
.RS
.IP "Active                pbs.SV_STATE_ACTIVE" 3
The server is running.  The scheduler is between scheduling cycles.

.IP "Hot_Start             pbs.SV_STATE_HOT " 3
The server will run first any jobs that were running when it 
was shut down.

.IP "Idle                  pbs.SV_STATE_IDLE" 3
The server is running.  The default scheduler's 
.I scheduling
attribute is 
.I False.

.IP "Scheduling            pbs.SV_STATE_ACTIVE" 3
The server is running.  The scheduler is in a scheduling cycle.

.IP "Terminating    pbs.SV_STATE_SHUTIMM or pbs.SV_STATE_SHUTSIG" 3
The server is terminating.  No additional jobs will be run.

.IP "Terminating_Delayed   pbs.SV_STATE_SHUTDEL" 3
The server is terminating in delayed mode.  No new jobs will be run.
The server will shut down when all running jobs have finished.
.RE
.IP
Default: No default

.IP single_signon_password_enable 8
.B Removed. (2020.1)

.IP state_count 8
List of the number of jobs in each state in the complex.  Suspended
jobs are counted as running.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I String
.br
Syntax:
.I transiting=<value>, queued=<value>, ...
.br
Python type: 
.I pbs.state_count
.br
Default: No default

.IP system_cost 8
No longer used.

.IP total_jobs 8
The total number of jobs in the complex.  If the 
.I job_history_enable
attribute is set to 
.I True, 
this includes jobs that are finished, deleted, and moved.
.br
Readable by all; settable by PBS only.
.br
Format: 
.I Integer
.br
Python type: 
.I int
.br
Default: No default

.SH Incompatible Limit Attributes
The old and new limit attributes are incompatible.  
If any of one kind is set, none of the other kind can be set.
All of one kind must be unset in order to set any of the other kind.

.SH FORMATS

.IP Duration 8
Syntax: either
.I [[hours:]minutes:]seconds[.milliseconds]
or 
.I an integer, whose units are seconds 

.IP "Limit specification" 8
Limit attributes can be set, added to or removed from.
.RS
Format for setting a 
.I limit specification:
.RS 3
set server <limit attribute> = "[<limit specification>=<limit value>], [<limit specification>=<limit value>] ..."
.RE
Format for adding to a 
.I limit specification:
.RS 3
set server <limit attribute> += "[<limit specification>=<limit value>], [<limit specification>=<limit value>] ..."
.RE
Format for removing from a 
.I limit specification:
.RS 3
set server <limit attribute> -= "[<limit specification>=<limit value>], [<limit specification>=<limit value>] ..."
.br
or
.br
set server <limit attribute> -= "[<limit specification>], [<limit specification>] ..."
.RE

Where 
.I limit specification
is 
.RS 3
.IP "o:PBS_ALL" 3
Overall limit
.IP "p:PBS_GENERIC" 3
Generic users
.IP "p:<project name>" 3
An individual project
.IP "u:PBS_GENERIC" 3
Generic users
.IP "u:<user name>" 3
An individual user
.IP "g:PBS_GENERIC" 3
Generic groups
.IP "g:<group name>" 3
An individual group
.RE

The 
.I limit specification 
can contain spaces anywhere except after the colon
(":").
.br
If there are comma-separated 
.I limit specifications, 
the entire string must be enclosed in double quotes.
.br
A user name, group name, or project name containing spaces must be
enclosed in quotes.
.br
If a user name, group name, or project name is quoted using double
quotes, and the entire string requires quotes, the outer enclosing
quotes must be single quotes.  Similarly, if the inner quotes are
single quotes, the outer quotes must be double quotes.
.br
PBS_ALL is a keyword which indicates that this limit applies to 
the usage total.
.br
PBS_GENERIC is a keyword which indicates that this limit applies to
generic users, groups, or projects.
.br
When removing a limit, the 
.I limit value 
does not need to be specified.
.br
PBS_ALL and PBS_GENERIC are case-sensitive.
.br

Format for setting a limit attribute:
.RS 3
set server <limit attribute> = "[<limit specification>=<limit value>],
[<limit specification>=<limit value>], ..."
.br

set queue <queue name> <limit attribute> = "[<limit specification>=
<limit value>], [<limit specification>=<limit value>], ..."
.RE
.RE

.IP
For example, to set the 
.I max_queued 
limit on QueueA to 5 for total usage, and to limit user bill to 3:
.br
\ \ \ s q QueueA max_queued = "[o:PBS_ALL=5], [u:bill =3]"

Examples of setting, adding, and removing: 
.RS 
.RS 3
set server max_run="[u:PBS_GENERIC=2], [g:group1=10], [o:PBS_ALL = 100]"
.br
set server max_run+="[u:user1=3], [g:PBS_GENERIC=8]"
.br
set server max_run-="[u:user2], [g:group3]"
.RE
.RE

.IP

.SH SEE ALSO
qdel(1B),
qmgr(1B),
qsub(1b)
